package com.openlogic.common.plugins.spi.plugin;

/**
 * @ClassName: PrioritySPI
 * @Description: SPI插件加载优先级接口
 * @author weiyongpeng
 * @date 2025年1月23日 下午8:49:43
 */
public interface PrioritySPI extends Comparable<Integer> {

	/**
	 * 描述：如果两个插件名字相同，取优先级高的，如果优先级也相同，则抛出异常
	 * @Title: getIdentify
	 * @return
	 * @author weiyongpeng
	 * @date 2024年11月16日 上午8:18:51
	 */
	SPIIdentify getIdentify();

	@Override
	default int compareTo(Integer o) {
		return Integer.compare(getIdentify().getPriority(), o);
	}

}
